enum SymbolConstants : int
{
   /// <c> (EOF) </c>
   SYMBOL_EOF             = 0,     
   /// <c> (Error) </c>
   SYMBOL_ERROR           = 1,     
   /// <c> (Whitespace) </c>
   SYMBOL_WHITESPACE      = 2,     
   /// <c> '-' </c>
   SYMBOL_MINUS           = 3,     
   /// <c> '!=' </c>
   SYMBOL_EXCLAMEQ        = 4,     
   /// <c> '%' </c>
   SYMBOL_PERCENT         = 5,     
   /// <c> '(' </c>
   SYMBOL_LPARAN          = 6,     
   /// <c> ')' </c>
   SYMBOL_RPARAN          = 7,     
   /// <c> '*' </c>
   SYMBOL_TIMES           = 8,     
   /// <c> ',' </c>
   SYMBOL_COMMA           = 9,     
   /// <c> '.' </c>
   SYMBOL_DOT             = 10,     
   /// <c> '/' </c>
   SYMBOL_DIV             = 11,     
   /// <c> '[' </c>
   SYMBOL_LBRACKET        = 12,     
   /// <c> ']' </c>
   SYMBOL_RBRACKET        = 13,     
   /// <c> '{' </c>
   SYMBOL_LBRACE          = 14,     
   /// <c> '}' </c>
   SYMBOL_RBRACE          = 15,     
   /// <c> '+' </c>
   SYMBOL_PLUS            = 16,     
   /// <c> '&lt;' </c>
   SYMBOL_LT              = 17,     
   /// <c> '&lt;=' </c>
   SYMBOL_LTEQ            = 18,     
   /// <c> '=' </c>
   SYMBOL_EQ              = 19,     
   /// <c> '==' </c>
   SYMBOL_EQEQ            = 20,     
   /// <c> '&gt;' </c>
   SYMBOL_GT              = 21,     
   /// <c> '&gt;=' </c>
   SYMBOL_GTEQ            = 22,     
   /// <c> '2D' </c>
   SYMBOL_2D              = 23,     
   /// <c> '3D' </c>
   SYMBOL_3D              = 24,     
   /// <c> add </c>
   SYMBOL_ADD             = 25,     
   /// <c> bezier </c>
   SYMBOL_BEZIER          = 26,     
   /// <c> black </c>
   SYMBOL_BLACK           = 27,     
   /// <c> blue </c>
   SYMBOL_BLUE            = 28,     
   /// <c> bmp </c>
   SYMBOL_BMP             = 29,     
   /// <c> circle </c>
   SYMBOL_CIRCLE          = 30,     
   /// <c> clear </c>
   SYMBOL_CLEAR           = 31,     
   /// <c> Collection </c>
   SYMBOL_COLLECTION      = 32,     
   /// <c> color </c>
   SYMBOL_COLOR           = 33,     
   /// <c> display </c>
   SYMBOL_DISPLAY         = 34,     
   /// <c> do </c>
   SYMBOL_DO              = 35,     
   /// <c> draw </c>
   SYMBOL_DRAW            = 36,     
   /// <c> ellipse </c>
   SYMBOL_ELLIPSE         = 37,     
   /// <c> else </c>
   SYMBOL_ELSE            = 38,     
   /// <c> endif </c>
   SYMBOL_ENDIF           = 39,     
   /// <c> endwhile </c>
   SYMBOL_ENDWHILE        = 40,     
   /// <c> false </c>
   SYMBOL_FALSE           = 41,     
   /// <c> first </c>
   SYMBOL_FIRST           = 42,     
   /// <c> green </c>
   SYMBOL_GREEN           = 43,     
   /// <c> Id </c>
   SYMBOL_ID              = 44,     
   /// <c> if </c>
   SYMBOL_IF              = 45,     
   /// <c> jpeg </c>
   SYMBOL_JPEG            = 46,     
   /// <c> jpg </c>
   SYMBOL_JPG             = 47,     
   /// <c> last </c>
   SYMBOL_LAST            = 48,     
   /// <c> line </c>
   SYMBOL_LINE            = 49,     
   /// <c> load </c>
   SYMBOL_LOAD            = 50,     
   /// <c> NumberLiteral </c>
   SYMBOL_NUMBERLITERAL   = 51,     
   /// <c> orange </c>
   SYMBOL_ORANGE          = 52,     
   /// <c> png </c>
   SYMBOL_PNG             = 53,     
   /// <c> point </c>
   SYMBOL_POINT           = 54,     
   /// <c> polygon </c>
   SYMBOL_POLYGON         = 55,     
   /// <c> procedure </c>
   SYMBOL_PROCEDURE       = 56,     
   /// <c> projection </c>
   SYMBOL_PROJECTION      = 57,     
   /// <c> purple </c>
   SYMBOL_PURPLE          = 58,     
   /// <c> rectangle </c>
   SYMBOL_RECTANGLE       = 59,     
   /// <c> red </c>
   SYMBOL_RED             = 60,     
   /// <c> reflection </c>
   SYMBOL_REFLECTION      = 61,     
   /// <c> remove </c>
   SYMBOL_REMOVE          = 62,     
   /// <c> replace </c>
   SYMBOL_REPLACE         = 63,     
   /// <c> save </c>
   SYMBOL_SAVE            = 64,     
   /// <c> scaling </c>
   SYMBOL_SCALING         = 65,     
   /// <c> shear </c>
   SYMBOL_SHEAR           = 66,     
   /// <c> square </c>
   SYMBOL_SQUARE          = 67,     
   /// <c> squeezing </c>
   SYMBOL_SQUEEZING       = 68,     
   /// <c> StringLiteral </c>
   SYMBOL_STRINGLITERAL   = 69,     
   /// <c> then </c>
   SYMBOL_THEN            = 70,     
   /// <c> translation </c>
   SYMBOL_TRANSLATION     = 71,     
   /// <c> true </c>
   SYMBOL_TRUE            = 72,     
   /// <c> while </c>
   SYMBOL_WHILE           = 73,     
   /// <c> white </c>
   SYMBOL_WHITE           = 74,     
   /// <c> yellow </c>
   SYMBOL_YELLOW          = 75,     
   /// <c> &lt;Bool_Expression&gt; </c>
   SYMBOL_BOOL_EXPRESSION = 76,     
   /// <c> &lt;Colors&gt; </c>
   SYMBOL_COLORS          = 77,     
   /// <c> &lt;Command&gt; </c>
   SYMBOL_COMMAND         = 78,     
   /// <c> &lt;Comparison&gt; </c>
   SYMBOL_COMPARISON      = 79,     
   /// <c> &lt;Format&gt; </c>
   SYMBOL_FORMAT          = 80,     
   /// <c> &lt;Math_Expression&gt; </c>
   SYMBOL_MATH_EXPRESSION = 81,     
   /// <c> &lt;Obj_Name&gt; </c>
   SYMBOL_OBJ_NAME        = 82,     
   /// <c> &lt;Object&gt; </c>
   SYMBOL_OBJECT          = 83,     
   /// <c> &lt;Operators&gt; </c>
   SYMBOL_OPERATORS       = 84,     
   /// <c> &lt;params&gt; </c>
   SYMBOL_PARAMS          = 85,     
   /// <c> &lt;Start&gt; </c>
   SYMBOL_START           = 86,     
   /// <c> &lt;Statement&gt; </c>
   SYMBOL_STATEMENT       = 87,     
   /// <c> &lt;Statements&gt; </c>
   SYMBOL_STATEMENTS      = 88,     
   /// <c> &lt;Transformation&gt; </c>
   SYMBOL_TRANSFORMATION  = 89      
};

enum RuleConstants : int
{
   /// <c> &lt;Start&gt; ::= '2D' &lt;Statements&gt; </c>
   RULE_START_2D                                           = 0,    
   /// <c> &lt;Start&gt; ::= '3D' &lt;Statements&gt; </c>
   RULE_START_3D                                           = 1,    
   /// <c> &lt;Statements&gt; ::= &lt;Statement&gt; &lt;Statements&gt; </c>
   RULE_STATEMENTS                                         = 2,    
   /// <c> &lt;Statements&gt; ::= &lt;Statement&gt; </c>
   RULE_STATEMENTS2                                        = 3,    
   /// <c> &lt;Statement&gt; ::= &lt;Command&gt; '(' &lt;params&gt; ')' </c>
   RULE_STATEMENT_LPARAN_RPARAN                            = 4,    
   /// <c> &lt;Statement&gt; ::= save &lt;Format&gt; StringLiteral </c>
   RULE_STATEMENT_SAVE_STRINGLITERAL                       = 5,    
   /// <c> &lt;Statement&gt; ::= load StringLiteral </c>
   RULE_STATEMENT_LOAD_STRINGLITERAL                       = 6,    
   /// <c> &lt;Statement&gt; ::= Id '=' &lt;Object&gt; </c>
   RULE_STATEMENT_ID_EQ                                    = 7,    
   /// <c> &lt;Statement&gt; ::= if &lt;Bool_Expression&gt; then &lt;Statements&gt; endif </c>
   RULE_STATEMENT_IF_THEN_ENDIF                            = 8,    
   /// <c> &lt;Statement&gt; ::= if &lt;Bool_Expression&gt; then &lt;Statements&gt; else &lt;Statements&gt; endif </c>
   RULE_STATEMENT_IF_THEN_ELSE_ENDIF                       = 9,    
   /// <c> &lt;Statement&gt; ::= while &lt;Bool_Expression&gt; do &lt;Statements&gt; endwhile </c>
   RULE_STATEMENT_WHILE_DO_ENDWHILE                        = 10,    
   /// <c> &lt;Statement&gt; ::= color &lt;Colors&gt; </c>
   RULE_STATEMENT_COLOR                                    = 11,    
   /// <c> &lt;Statement&gt; ::= procedure Id '(' &lt;params&gt; ')' '{' &lt;Statements&gt; '}' </c>
   RULE_STATEMENT_PROCEDURE_ID_LPARAN_RPARAN_LBRACE_RBRACE = 12,    
   /// <c> &lt;Statement&gt; ::= Id '(' &lt;params&gt; ')' </c>
   RULE_STATEMENT_ID_LPARAN_RPARAN                         = 13,    
   /// <c> &lt;Statement&gt; ::= Collection Id </c>
   RULE_STATEMENT_COLLECTION_ID                            = 14,    
   /// <c> &lt;Statement&gt; ::= Id '.' add '(' &lt;Object&gt; ')' </c>
   RULE_STATEMENT_ID_DOT_ADD_LPARAN_RPARAN                 = 15,    
   /// <c> &lt;Statement&gt; ::= Id '.' remove '(' &lt;Object&gt; ')' </c>
   RULE_STATEMENT_ID_DOT_REMOVE_LPARAN_RPARAN              = 16,    
   /// <c> &lt;Statement&gt; ::= clear Id </c>
   RULE_STATEMENT_CLEAR_ID                                 = 17,    
   /// <c> &lt;Bool_Expression&gt; ::= true </c>
   RULE_BOOL_EXPRESSION_TRUE                               = 18,    
   /// <c> &lt;Bool_Expression&gt; ::= false </c>
   RULE_BOOL_EXPRESSION_FALSE                              = 19,    
   /// <c> &lt;Bool_Expression&gt; ::= &lt;Object&gt; &lt;Comparison&gt; &lt;Object&gt; </c>
   RULE_BOOL_EXPRESSION                                    = 20,    
   /// <c> &lt;Bool_Expression&gt; ::= '(' &lt;Bool_Expression&gt; ')' </c>
   RULE_BOOL_EXPRESSION_LPARAN_RPARAN                      = 21,    
   /// <c> &lt;Comparison&gt; ::= '&lt;' </c>
   RULE_COMPARISON_LT                                      = 22,    
   /// <c> &lt;Comparison&gt; ::= '&lt;=' </c>
   RULE_COMPARISON_LTEQ                                    = 23,    
   /// <c> &lt;Comparison&gt; ::= '&gt;' </c>
   RULE_COMPARISON_GT                                      = 24,    
   /// <c> &lt;Comparison&gt; ::= '&gt;=' </c>
   RULE_COMPARISON_GTEQ                                    = 25,    
   /// <c> &lt;Comparison&gt; ::= '==' </c>
   RULE_COMPARISON_EQEQ                                    = 26,    
   /// <c> &lt;Comparison&gt; ::= '!=' </c>
   RULE_COMPARISON_EXCLAMEQ                                = 27,    
   /// <c> &lt;Object&gt; ::= &lt;Math_Expression&gt; </c>
   RULE_OBJECT                                             = 28,    
   /// <c> &lt;Object&gt; ::= StringLiteral </c>
   RULE_OBJECT_STRINGLITERAL                               = 29,    
   /// <c> &lt;Object&gt; ::= &lt;Obj_Name&gt; '(' &lt;params&gt; ')' </c>
   RULE_OBJECT_LPARAN_RPARAN                               = 30,    
   /// <c> &lt;Object&gt; ::= &lt;Transformation&gt; &lt;Object&gt; '(' &lt;params&gt; ')' </c>
   RULE_OBJECT_LPARAN_RPARAN2                              = 31,    
   /// <c> &lt;Object&gt; ::= Id '[' &lt;Math_Expression&gt; ']' </c>
   RULE_OBJECT_ID_LBRACKET_RBRACKET                        = 32,    
   /// <c> &lt;Object&gt; ::= Id '.' last </c>
   RULE_OBJECT_ID_DOT_LAST                                 = 33,    
   /// <c> &lt;Object&gt; ::= Id '.' first </c>
   RULE_OBJECT_ID_DOT_FIRST                                = 34,    
   /// <c> &lt;Math_Expression&gt; ::= Id </c>
   RULE_MATH_EXPRESSION_ID                                 = 35,    
   /// <c> &lt;Math_Expression&gt; ::= NumberLiteral </c>
   RULE_MATH_EXPRESSION_NUMBERLITERAL                      = 36,    
   /// <c> &lt;Math_Expression&gt; ::= &lt;Math_Expression&gt; &lt;Operators&gt; &lt;Math_Expression&gt; </c>
   RULE_MATH_EXPRESSION                                    = 37,    
   /// <c> &lt;Math_Expression&gt; ::= '(' &lt;Math_Expression&gt; ')' </c>
   RULE_MATH_EXPRESSION_LPARAN_RPARAN                      = 38,    
   /// <c> &lt;Math_Expression&gt; ::= '-' &lt;Math_Expression&gt; </c>
   RULE_MATH_EXPRESSION_MINUS                              = 39,    
   /// <c> &lt;params&gt; ::=  </c>
   RULE_PARAMS                                             = 40,    
   /// <c> &lt;params&gt; ::= &lt;Object&gt; ',' &lt;params&gt; </c>
   RULE_PARAMS_COMMA                                       = 41,    
   /// <c> &lt;params&gt; ::= &lt;Object&gt; </c>
   RULE_PARAMS2                                            = 42,    
   /// <c> &lt;Operators&gt; ::= '+' </c>
   RULE_OPERATORS_PLUS                                     = 43,    
   /// <c> &lt;Operators&gt; ::= '-' </c>
   RULE_OPERATORS_MINUS                                    = 44,    
   /// <c> &lt;Operators&gt; ::= '/' </c>
   RULE_OPERATORS_DIV                                      = 45,    
   /// <c> &lt;Operators&gt; ::= '*' </c>
   RULE_OPERATORS_TIMES                                    = 46,    
   /// <c> &lt;Operators&gt; ::= '%' </c>
   RULE_OPERATORS_PERCENT                                  = 47,    
   /// <c> &lt;Command&gt; ::= draw </c>
   RULE_COMMAND_DRAW                                       = 48,    
   /// <c> &lt;Command&gt; ::= replace </c>
   RULE_COMMAND_REPLACE                                    = 49,    
   /// <c> &lt;Command&gt; ::= display </c>
   RULE_COMMAND_DISPLAY                                    = 50,    
   /// <c> &lt;Format&gt; ::= jpg </c>
   RULE_FORMAT_JPG                                         = 51,    
   /// <c> &lt;Format&gt; ::= jpeg </c>
   RULE_FORMAT_JPEG                                        = 52,    
   /// <c> &lt;Format&gt; ::= bmp </c>
   RULE_FORMAT_BMP                                         = 53,    
   /// <c> &lt;Format&gt; ::= png </c>
   RULE_FORMAT_PNG                                         = 54,    
   /// <c> &lt;Obj_Name&gt; ::= point </c>
   RULE_OBJ_NAME_POINT                                     = 55,    
   /// <c> &lt;Obj_Name&gt; ::= line </c>
   RULE_OBJ_NAME_LINE                                      = 56,    
   /// <c> &lt;Obj_Name&gt; ::= polygon </c>
   RULE_OBJ_NAME_POLYGON                                   = 57,    
   /// <c> &lt;Obj_Name&gt; ::= rectangle </c>
   RULE_OBJ_NAME_RECTANGLE                                 = 58,    
   /// <c> &lt;Obj_Name&gt; ::= square </c>
   RULE_OBJ_NAME_SQUARE                                    = 59,    
   /// <c> &lt;Obj_Name&gt; ::= bezier </c>
   RULE_OBJ_NAME_BEZIER                                    = 60,    
   /// <c> &lt;Obj_Name&gt; ::= ellipse </c>
   RULE_OBJ_NAME_ELLIPSE                                   = 61,    
   /// <c> &lt;Obj_Name&gt; ::= circle </c>
   RULE_OBJ_NAME_CIRCLE                                    = 62,    
   /// <c> &lt;Transformation&gt; ::= translation </c>
   RULE_TRANSFORMATION_TRANSLATION                         = 63,    
   /// <c> &lt;Transformation&gt; ::= reflection </c>
   RULE_TRANSFORMATION_REFLECTION                          = 64,    
   /// <c> &lt;Transformation&gt; ::= scaling </c>
   RULE_TRANSFORMATION_SCALING                             = 65,    
   /// <c> &lt;Transformation&gt; ::= shear </c>
   RULE_TRANSFORMATION_SHEAR                               = 66,    
   /// <c> &lt;Transformation&gt; ::= squeezing </c>
   RULE_TRANSFORMATION_SQUEEZING                           = 67,    
   /// <c> &lt;Transformation&gt; ::= projection </c>
   RULE_TRANSFORMATION_PROJECTION                          = 68,    
   /// <c> &lt;Colors&gt; ::= red </c>
   RULE_COLORS_RED                                         = 69,    
   /// <c> &lt;Colors&gt; ::= orange </c>
   RULE_COLORS_ORANGE                                      = 70,    
   /// <c> &lt;Colors&gt; ::= yellow </c>
   RULE_COLORS_YELLOW                                      = 71,    
   /// <c> &lt;Colors&gt; ::= green </c>
   RULE_COLORS_GREEN                                       = 72,    
   /// <c> &lt;Colors&gt; ::= blue </c>
   RULE_COLORS_BLUE                                        = 73,    
   /// <c> &lt;Colors&gt; ::= purple </c>
   RULE_COLORS_PURPLE                                      = 74,    
   /// <c> &lt;Colors&gt; ::= black </c>
   RULE_COLORS_BLACK                                       = 75,    
   /// <c> &lt;Colors&gt; ::= white </c>
   RULE_COLORS_WHITE                                       = 76     
};
